The present invention generally relates to a method for testing a memory. The present invention particularly relates to a method, a computer program and a system which are for efficiently testing a main memory in a multi processor system through parallel processing by use of multiple local stores of respective multiple sub processors; and an access to the local stores.
Under the current computing environment, in the fields of high-performance gaming devices, image-processing servers, image-processing devices for medical application and the like, it is desirable to use a computer system which has a computing capability dramatically improved by use of high-speed video processing, real-time processing and the like. As such a computer system, it is becoming more common to use a multi-processor system provided with multiple processors.
Meanwhile, along with an improvement in computing capacity of a computer system, the trend of increasing the capacity of a main memory thereof (also referred to as system memory, main memory and the like) has become more noticeable than ever. In order to maintain the reliability and quality of a system, it is necessary to test a main memory thereof on various occasions, such as: at a mass-production test of a system or a system board; at times when a system is powered on; and during a maintenance service on a system. However, for a computer system provided with a main memory having a larger capacity, it tends to take an increasingly longer time to perform such tests and to startup the system. Accordingly, the mass productivity in the system production, system usability, service quality for a system and the like are largely affected.
In conventional computer systems including both a single processor and multi-processor systems, a main memory is tested by use of a single processor. However, if a main memory in such a system has a large capacity, it takes too much time for a single processor to perform a test on the entire region of the main memory; thus, such testing is not preferable. Accordingly, especially for configuring a multi-processor system, the possibility that individual processors work together in parallel with each other to test the main memory has been investigated in some cases.
Japanese Patent Application Publication No. 2005-268914 discloses a method for testing a memory in a system provided with multiple processing units. To be more specific, in this method, a memory is divided into multiple memory sections corresponding to the respective processing units, and the memory sections are each tested by the corresponding processing units in parallel. As a result, a time required for a test on the entire memory can be shortened.
However, this method requires, as a premise, a configuration in which the individual processing units are able to access the corresponding memory sections in parallel, more specifically, at the same time and in parallel. Accordingly, this method cannot be adopted in a multi-processor system having a general configuration, such as a configuration in which multiple processors are connected via a shared bus to a main memory.
An object of the present invention is to provide a method and the like for efficiently testing a shared memory in a multi-processor system.